package com.itheima.反射reflect.基于反射方式操作成员变量;

import java.lang.reflect.Field;
import java.util.ArrayList;

public class ReflectArrayListDemo2 {
    public static void main(String[] args) throws Exception {
        //获取ArrayList的字节码文件对象 --类对象
        Class clazz = Class.forName("java.util.ArrayList");
        //获取size属性对应的成员变量
        Field size = clazz.getDeclaredField("size");
        //忽略安全检查
        size.setAccessible(true);
        //反射创建类的对象
        ArrayList list = (ArrayList) clazz.newInstance();
        //基于反射的方式给size成员赋值
        size.set(list,10);
        //基于反射的方式获取size成员的值
        Object value = size.get(list);
        System.out.println("value"+value);

        list.add("我是list集合第10索引位置元素");
        System.out.println("list="+list);


    }
}
